Memory card handling for enhancing interactive television services

ABSTRACT

An interactive television system is operable to receive television signals and data for implementing interactive television services. At least some of the interactive television data received is stored on a removable, non-volatile memory, such as a memory card or stick. To allow a user to access services, the system is operable to generate a user interface. Services that are available via information stored on a memory card are marked.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims the benefit of thepriority of, International Application No. PCT/GB2006/000083, filed Jan.11, 2006, which international application is hereby incorporated hereinin its entirety by this reference. This application furthermore claimsthe benefit of the priority of United Kingdom (GB) Patent ApplicationNo. 0500579.8, filed Jan. 12, 2005, the priority of which United Kingdompatent application is claimed by said international application.

BACKGROUND OF THE INVENTION

The present invention relates to a television (TV) apparatus that usesremovable memory cards to enhance the quality and availability ofinteractive television services.

Interactive services to digital television and set-top-box apparatushave been in operation for a number of years. These generally allocatevolatile memory (i.e. where memory contents are lost when power iswithdrawn), usually dynamic random access memory (DRAM), within theapparatus to temporary storage of an interactive television servicecontent such as games, news or TV listings. Often, a content item isbroadcast alongside a digital television service and shares the samemultiplex. In which case, a cue for allowing selection of the contentitem may be displayed over a television programme in a format or stylespecific to the item. Users may invoke an item of content belonging toan interactive service by selecting a key on a remote control thatcorresponds to the cue displayed on the screen of the apparatus. Theitem is downloaded to the storage area from a continuously broadcastdata “carousel” and executed.

The downloaded item may be split into multiple objects, some comprisingexecutable application software, and others comprising data objectsincluding graphics, video, text and sound objects. Each object mayreference other objects. Objects typically remain in storage until theuser selects a cue corresponding to another content item, whereupon theprevious item is either wholly or partially overwritten by the new item.Hence, if the user were to select the original item again, its objectsmust again be downloaded. A problem with this approach is that a userexperiences an undesired delay between selecting the cue and the itemappearing on the television screen while the item's objects aredownloaded to the apparatus. Also, the broadcaster must broadcastrepetitively each item, usually many hundreds or thousands of timesduring a day. This is wasteful of bandwidth and is costly to terrestrialbroadcasters whose bandwidth is often limited compared to those of cableand satellite counterparts.

Another approach is to broadcast content items only a small number oftimes, such as once or twice per day, and to cause the apparatus topower up and to store them in non-volatile memory (a common form beingreferred to as “flash” memory). This reduces bandwidth wastage and makesselection of items more responsive because the items do not have to beloaded from a data carousel in real time. However, given that volumetelevision receiving apparatus are cost sensitive and that their mainpurpose is for watching television, a disadvantage of this approach isthat it loads incremental memory costs onto the apparatus.Alternatively, items may be broadcast a small number of times per dayand stored in DRAM only. This has the advantage of reducing materialscosts and improving responsiveness to user selection of cues butrequires the apparatus to be powered up or in low power standby in ordernot to lose the stored items.

BRIEF SUMMARY OF THE INVENTION

According to one aspect of the present invention, there is provided aninteractive television system comprising means for receiving televisionsignals; means for receiving data for implementing an interactivetelevision service, an internal memory and means for storing theinteractive television data on a removable, non-volatile memory.

Many television apparatus include card readers in order to allow usersplayback features, for example, for the display of photographs etc. Thepresent invention takes advantage of this functionality by using thesame memory cards to store interactive content items received by atelevision apparatus. This means that the range of services that thetelevision receiving apparatus can handle can be extended withoutrequiring any significant additional memory to be added duringmanufacture of the apparatus. The removable memory card is employed tomanage and store a range of content items, each corresponding to aservice, including applications and data according to each user'spreference, and to allow a user to pay for access to content items of adesired service, and to execute and render said items securely to theapparatus.

Means may be provided for automatically copying to the removable memoryinformation in an internal memory, so that the removable memory acts asa backup. In this way, the apparatus provides a user transparent backupfacility for volatile content items stored in the apparatus.

Means may be provided for prompting a user to indicate whetherinteractive television service information is to be stored on theremovable memory. This may be done in response to connection of aremovable memory device. In particular, the apparatus is preferablyoperable to detect whether a removable memory, for example a memorycard, has been inserted into a card reader connected to the apparatusfor the first time. The apparatus prompts the user on whether to reservestorage on the card and tags a portion of the card's non-volatile memoryaccordingly. In the event that the user confirms the prompt, theapparatus backs up content previously downloaded to the apparatus'volatile memory to a reserved portion of the non-volatile memory on thecard. Upon powering up, the apparatus downloads time, date and serviceversion information from a broadcast source; reads the content versioninformation stored on the memory card to determine whether the contentitems are expired, and then restores the content objects and data fromthe memory card to the apparatus's volatile memory if they are notexpired.

Means may be provided for generating a user interface using informationstored on the removable memory. This may be done by merging informationin both the internal memory and the removable memory and using this toprovide a user interface that has user selectable interactive servicesthat are accessible via information in both the internal and externalmemories. Within the user interface, user selectable interactiveservices may be marked to indicate that they are available via theremovable memory.

The apparatus may provide a facility for selecting and downloading ofcontent items to external memory cards and for retrieving and viewing ofthe same via the apparatus at a later time. The apparatus determineswhich content items may be stored in external, removable cards. Theapparatus detects whether an unallocated memory card has been insertedinto a card reader connected to it, whereupon a user is prompted toallocate storage to the card for later downloading to it of contentitems. Where the apparatus detects that a card with allocated memory isconnected, the apparatus downloads and displays a menu listing one or aplurality of services. Services whose content items must be stored on aremovable card are highlighted differently to those that are stored involatile DRAM internal to the apparatus. The apparatus determines whichservices the user selects from the menu.

Preferably, the apparatus powers up from standby at pre-determined timesof the day to download from a broadcast source the objects correspondingto the selected items to DRAM within the apparatus. The apparatusgenerates digital signatures for the downloaded content objects andstores the signatures in non-removable, non-volatile memory within theapparatus. The apparatus further updates the menu of services,highlighting those services whose content items have already beendownloaded and stored to the removable card and may be selected by theuser for immediate display. Finally, on selection by a user of a servicefrom the menu that is stored on a card, the apparatus retrieves theservice's content items from the removable memory, verifies that theyare authentic and executes them.

Information relating to one of the services may be presented in asupplemental cell within a services catalogue in response to a userinput, such as highlighting one of the services. The additionalinformation may be provided in a dedicated area of the screen,preferably separate from the services listings.

According to another aspect of the invention, there is provided a methodfor providing interactive television services to a user comprising:downloading interactive television service information to a televisionsystem; storing the interactive television service information on aremovable memory device and using the stored interactive televisionservice information to provide interactive services.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Various aspects of the invention will now be described by way of exampleonly and with reference to the accompanying drawings, of which:

FIG. 1 is a block diagram of an end-to-end interactive televisionservice broadcast system;

FIG. 2 is a block diagram of a television receiving apparatus that iscontrolled by a user and configured to allow interaction with externalentities via a mobile or fixed wire telephone network;

FIG. 3 is a block diagram of a television system that is configured toallow direct interaction with external entities including a serviceoperator via the Internet;

FIG. 4 is a top view of a remote control handset for use in the systemof FIG. 2;

FIG. 5 is a block diagram showing the main functions within aset-top-box (STB) and their interconnection;

FIG. 6 shows how storage of data is allocated between volatile andnon-volatile memory in the television apparatus of FIG. 2;

FIG. 7 shows memory allocation as implemented by the televisionsubsystem of FIG. 2 according to a layered software architecture;

FIG. 8 shows how memory within the television apparatus and removablememory card of FIG. 2 are arranged and referenced by the apparatus as aunified file system;

FIG. 9 shows the bandwidth consumed during the day by the variouscomponents of the interactive television service operator's broadcastdata stream;

FIG. 10 shows how reserved memory within the memory card is partitionedinto blocks of addressable memory within a reserved file;

FIG. 11A shows the process performed by the apparatus when a memory cardis inserted;

FIG. 11B shows the process performed by the apparatus when the canistermemory is loaded or updated;

FIG. 11C shows the process performed by the apparatus when it haspowered up from cold;

FIG. 12 shows the on-screen prompt displayed by the user interface ofthe television apparatus when a memory card is inserted into theapparatus for the card's first time;

FIG. 13 shows the on-screen user interface displayed by the televisionapparatus when the user has requested to choose from a menu ofinteractive services;

FIG. 14A shows the process employed by the television apparatus todisplay the on-screen user interface of FIG. 13, and

FIG. 14B shows the shows the process employed by the televisionapparatus to invoke an interactive service selected by a user of theon-screen user interface of FIG. 13;

FIG. 15 shows the on-screen catalogue displayed by the televisionapparatus to allow the user to select which interactive televisionservices containing card based content items he/she wants to receive;

FIG. 16 shows the on-screen catalogue displayed by the televisionapparatus where a user has selected to receive a pay service;

FIG. 17 shows the process employed by the apparatus to download, manageand display the service catalogue, and

FIG. 18 shows the process employed by the television apparatus todownload and manage interactive television service objects.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a service operator's subsystem 100. This contains functionsthat may be co-located in one geographical location, or may bedistributed across a number of locations and networked together. Thesefunctions include a pre-multiplexer 137, a data carousel 136, a serviceaggregation centre 130, a transaction processor 131, a service operatordata centre 132, a database 133, a request decoder 134 and a call centre135. The service aggregation centre 130 receives incoming servicecontent items (such as electronic game applications, movies, music,news, weather forecasts and editorial content such as magazines) fromexternal parties and processes and compiles the content and applicationstogether to form data streams. The data streams are transmitted to thedata carousel 136.

The service operator's data centre 132 receives and aggregates users'118 service requests across a mobile and/or fixed telephone network 108via a request decoder 134. The request decoder 134 is adapted to decodemobile telephone short message service (SMS) text messages composed bythe user 118 and/or dual tone multiple frequency (DTMF) tones generatedby a user 118 pressing the telephone 111 numeric keys 123. The requestdecoder 134 is further adapted to determine a user's calling lineidentification (CLI) in order to look up a user's account number. Thedata centre 132 may also receive telephoned, vocal service requests fromusers 118 via call centre 135.

The operator data centre 132 manages and stores users' contact andaccount details on a database 133. These details are used for processingincoming registrations and service requests from the request decoder 134and communicating transactions to credit card and other paymentfacilities via a financial backbone 138, for broadcasting serviceentitlement messages over the air via the transaction processor 131 anddata carousel 136. In the embodiment described, the database holds oneor more telephone numbers that are registered prior to a user'splacement of service orders per each user account. The transactionprocessor 131 is configured to receive service entitlement messages fromthe operator data centre 132, generate service entitlement managementpackets addressed to individual users' apparatus 109 and broadcast thesevia the carousel 136 for immediate real time play-out. Data ispreferably transmitted as one or more modules using the so-called DSM-CC(Digital Storage Media Command and Control) carousel 136. The DSM-CCcarousel is a data stream transmitted by the broadcasting stationalongside television audio-video service data, where each modulecomprises executable code and/or data components of one or more dataobjects that may be downloaded by the apparatus.

FIG. 2 shows how data streams from the service operator 100 aretransmitted to a broadcast multiplex operator 106 for transmission via abroadcast transmitter infrastructure 110 using the DVB (Digital VideoBroadcasting) family of public satellite (DVB-S), and/or cable (DVB-C)and/or terrestrial (DVB-T) broadcast formats to users' homes. Morespecifically, FIG. 2 shows a user apparatus 109 that includes aset-top-box (STB) or personal video recorder (PVR) 114 that receivestelevision services, including data services from the service operator'ssubsystem 100, via an aerial, satellite dish or cable socket 116 andconnects to a television 112 for display purposes via a screen 113 toone or more apparatus users 118. Users 118 may communicate with theservice operator 100 via a telephone network 108. Messages can be sentby pressing key sequences via a cordless, wired or mobile telephone 111or by using speech. In any case, the user has to be provided with adedicated telephone number that allows communication with either therequest decoder 134 or the call centre 135.

Several other embodiments may exist for apparatus 109. For example, thefunctionalities of the STB or the PVR 114 may be integrated, orpartially integrated, with the television 112 and/or display 113. Inanother embodiment the functionality of the STB or the PVR 114 may beperformed by a personal computer (PC) and the television's screendisplay 113 function is performed by a display monitor. In yet anotherembodiment, the aerial 116, STB 114, television 112, remote control 117and screen 113 functionalities may be integrated into a single handheldapparatus, such as a cordless or mobile phone, PC notebook, media playeror video jukebox, palmtop computer or a personal digital assistant(PDA).

In a yet further embodiment apparatus 109 may be linked to the serviceoperator 100 via a network transceiver 119 that is linked to theInternet either directly or via a domestic access point 139 containing abridge, router or gateway function as shown in FIG. 3. Preferably theapparatus is linked via a wireless network such as a Bluetooth wirelesslocal area network (LAN), or via “WiFi” according to the public IEEE802.11a/b/g LAN specifications or via a wide area mobile telephonenetwork data transmission specification such as the General Packet RadioService (GPRS). In the Bluetooth case the transceiver 119 is a Bluetoothnetwork adaptor and a mobile telephone adapted with a Bluetoothtransceiver may take on the role of the access point 139 to the Internetvia GPRS. In the WiFi case, transceiver 119 is a WiFi network adaptorthat may be interfaced to the Internet via a WiFi access point or router139.

In such cases where the apparatus 109 is linked to the Internet for thepurpose of data exchange, the apparatus may continue to receivetelevision channels and other services by broadcast means viainfrastructure 110 and aerial 116. Alternatively or additionally,apparatus may receive television channels and interactive televisionservices via the Internet 156, access point 139 and network transceiver119. In one embodiment, LAN transceiver 119 may be a Bluetoothtransceiver wirelessly connected to a local access point 139 functionthat is incorporated into a mobile telephone 111, where the telephone isconnected to service operator 100 via the telephone network 108 or theInternet 156. Preferably the transceiver 119 is removable from the STB114 and connectable via a hardware interface 155 such as a USB(Universal Serial Bus). Alternatively, the hardware interface may be theindustry standard PCMCIA (Personal Computer Memory Card InternationalAssociation) “PC Card” 68-pin Type I, II or III interface or an SD Cardinterface.

Users operate a handheld remote control 117 to control the apparatus109. FIG. 4 shows an example of a suitable handset. Remote control 117is operable to send commands to apparatus 109 preferably by wirelessmeans. In the preferred embodiment, the control 117 uses an infraredtransmitter 129 to send commands to apparatus 109 that correspond tokeys as they are pressed by the user, where such keys include: apparatuspower ON/OFF toggle 127, volume up/down 125, channel up/down 126,red/green/yellow/blue fastext keys 124, up/down/left/right arrow keys120, OK/select key 121, 0-9 numeric keys 123 labelled with multiple tapalphabetic characters, a “Back” key 327 for reversing out of a userinterface selection and a “Service” key 128 for invoking the apparatus'sinteractive services. Alternative embodiments for handheld control 117may include an apparatus whose keys are labelled to correspond to thoseof a television control apparatus, such as may be achieved using amobile or cordless telephone, a standard “QWERTY” keyboard, a personaldigital assistant (PDA), or a touch sensitive, handheld display whereportions of the display are marked with labels corresponding totelevision control commands.

FIG. 5 shows the internal functional elements of a typical digital STB114 designed to receive and decode DVB television transmissions. Theseinclude a CPU 303 coupled via an internal data bus 311 to volatile DRAM146 and internal, non-volatile (flash) memory 152 that are integral toand not removable from the apparatus. The integral flash memory 152contains amongst other things, digital signatures and keys. Its contentsmust not be readable across the STB's connection interfaces to externaldevices. Also connected to the internal bus is at least one memory cardreader interface 115 for allowing communication with an external memorycard 107. Alternatively or additionally the STB may also incorporate asingle reader interface 155 that is simultaneously compatible withmultiple memory card formats such as Memory Stick, Secure Digital (SD),Smart Media (SM) and Multi Media Card (MMC). Means of connecting memorycards to electrical apparatus are known in the art and so will not bedescribed in detail.

The CPU receives user commands from remote control 117 via an infraredreceiver 312. When the STB is in standby, a real time clock (RTC) orcountdown timer 308 controls when portions of the STB are to be poweredup. In the preferred embodiment, when the STB is in standby mode betweendownloads, the CPU and memory operate in a low power mode with all otherblocks except an RTC 308, IR receiver 312 and programmable power supply310 powered off completely. The power supply is controlled by the CPU toapply and remove voltage rails to one or more of the other blocksdepending on whether the STB is required to enter an active, standby ordownload state. The STB may have personal video recording (PVR) featuresand contain some form of bulk storage interface 304 connected to a harddrive 313 for storage of video and/or clips. This would typically be anATAPI or SCSI hard disk interface, but any popular bulk data storageinterface standard may be implemented.

The STB contains a programmable tuner 300, which is connected to receiveDVB-T broadcasts via an aerial 116. Additionally or alternatively, thetuner may receive cable and satellite transmissions. Loader software 331is stored in the flash memory 152. By means of the internal data bus311, this loader software 331 is operable to program the tuner 300 andde-multiplexer 301 to receive and decode any MPEG2 transport stream(channel) present at aerial 116, including the streams (channel)carrying the service operator's 100 transmissions. The tuned transportstream is applied to a de-multiplexer 301, where elementary audio, videoand data streams can be extracted. Video data streams are applied to theMPEG-2 and/or MPEG-4 video decoder 302. The output of this decoder isthen combined with the on-screen display 305 to provide the video signalto the television 112. The on-screen display 305 is responsible fordisplaying all graphical outputs to screen 113. The video mix and scalefunction are capable of scaling the decoder video in order to present areduced size live video display anywhere on television screen 113.

In use, the service operator 100 broadcasts a software stack, includingoperating system and multimedia playback environment, for downloading bythe apparatus 109 into integral, non-removable volatile DRAM memory.This is done when the apparatus is not in use or has been placed in alow power standby mode. Periodically, the apparatus loads objectsbelonging to service content items (such as, for example, an electronicprogramme guide or a game) into DRAM. The allocation of memory withinthe apparatus 109 is shown in FIG. 6. An area of STB 114 memory within avolatile portion of dynamic random access memory (DRAM) 146, the socalled “canister” memory area 147, is reserved exclusively for storageof downloaded object data 150 that comprise the interactive service fromthe service operator 100. With current memory costs and addressablelimitations, the size of the canister memory area 147 is typically 16 to32 Mbytes.

Another area of memory, a so called “scratchpad” area 148, istemporarily reserved for the storage of intermediate or temporary dataduring execution of an application or while processing downloadedobjects such as, for example, a service catalogue. In a preferredembodiment, the scratchpad area 148 is composed of DRAM but in otherembodiments of the apparatus, such as within a hard disk based personalvideo recorder (PVR), the scratchpad 148 may comprise hard disk storage,or a combination of hard disk storage and DRAM. A small area of DRAM isadditionally allocated to storage of transient apparatus parameters 154that denote the status of the apparatus's connectivity to externaldevices such as, for example, whether a memory card 107 is connected tothe apparatus's memory card reader 115 and the properties of bothdevices. The transient parameters 154 are updated by the flash loaderprogram 331 (see below) upon power up of the apparatus and periodicallythereafter by polling by the CPU of external connection interfaces suchas USB port(s) 155 or card ports 115.

Portions of non-volatile, integral flash memory 152 are allocated tostorage of firmware and data associated with maintenance of the canister147 and service content items 295 stored within it, and are arranged andreferenced as a file system. The firmware includes a bootstrap loaderprogram in integral flash memory 331, which is executable code thatcontrols the download of objects from burst broadcasts 173 and generatesloaded data objects 150 within the canister 147. To maximise theapparatus's flexibility throughout its service life, only minimumfunctionality is burnt into the flash loader 331. The remaining“transient” portion of the bootstrap loader 153 is downloaded tovolatile memory 146 at the commencement of downloads from burstbroadcasts 173 and is wholly or partially erased after the download hasoccurred.

Decoder and translator programs 141 are also stored in integral flash152. These are software modules that may be called by the flash loader331 and/or transient loader 153 to process downloaded objects. Forexample, the canister loader may first be required to invoke adecryption decoder to render an object to clear text. Another decodermay be invoked subsequently to decompress the clear text object.Preferably, all executable objects are broadcast in a device independentform. Preferably, the canister loader invokes a translator to convertdevice independent executable objects to a form where they are directlyexecutable by the apparatus's central processor unit (CPU) 303. Alsowithin the flash memory 152 is an apparatus' adaptation layer 296. Thishas apparatus specific code stored in flash 152 that binds the canisterto the apparatus's native drivers and operating system 332 (STAPI andOS20 in the preferred embodiment) and hardware (ST5100 in the embodimentdescribed). This will be described in more detail later.

Other firmware and data that are stored in integral flash 152 includeapparatus parameters 143, apparatus cookies 144, application cookies145, executable signatures 330, burst times and locations 334 andservice entitlement cookies 336. The apparatus parameters 143 may bebrand, model number and hardware characteristics such as CPU speed,screen resolution, size of canister, scratchpad memory allocations andtypes of connection interfaces (e.g. PC Card, USB, SD Card) attached, ifany. These are burnt into non-volatile memory during manufacture and areread only throughout an apparatus's service life. The apparatus cookies144 are small data files that comprise application independent apparatusconfiguration information, such files including those containing anaccount number and a user's personal identification number (PIN)corresponding to a pre-registered account, which information mustsurvive power loss.

The application cookies 145 are small data files that hold certainstates of an application 293 that are to be restored the next time it isinvoked. For example, an electronic programme guide application 293 maypermit a user to remove or order certain channels in his/her set-uppreferences by saving the configuration as a cookie 145. Or, forexample, a game application may log a user's name and high score as acookie 145. Or, for example, an entitlement message may have beendownloaded and stored as a cookie 145 for later reference by anapplication 293 that is associated with a particular service todetermine whether access is to be given to all or certain portions ofthe service's features or content 292.

The digital signatures 330 are the results of hash function computationsof trusted executable code objects. These signatures are comparedagainst those computed against objects from external, un-trusteddevices, such as a memory card, for verification that the externalobject is from an authorised source. The service entitlement cookie 336is a small file that contains information relating to a user'sentitlement rights in respect of a service or a group of services. Forexample, a user may have subscribed to a service indefinitely or for aset period or based on a number of service uses. All of this informationwould be included within the entitlement cookies 336.

FIG. 7 shows the structure of programme software, data and servicecontent objects 150 stored within the DRAM canister area 147. The dataobjects within the canister may be referenced as within a file system.It is desirable that applications loaded into the canister displaycontent in an identical manner across as many brands and types ofapparatus as possible. This is necessary to minimise broadcasting ofdifferent versions of an application or service to different apparatus,which is costly to administer and wasteful of bandwidth. For thisreason, a layered software stack is used. This includes a virtualmachine based operating system 288 (Intent 1.5 in a preferredembodiment) that executes application objects in a functionallyidentical manner across canisters in a broad range of apparatus hardwaretypes. This may contain a JVM (Java Virtual Machine) 294 to supportexecution of applications 293 loaded to the canister in Java bytecodeform. The operating system 288 may also contain communication protocolsoftware, such as TCP/IP (Terminal Control Protocol/Internet Protocol),to allow applications 293 to receive and transmit data across theInternet. Code libraries 289 are provided for use by the operatingsystem layer 288. Driver software 290 controls apparatus programmablehardware (such as, for example, display controllers, sound generators,tuners and de-multiplexers) via the apparatus adaptation firmware 296corresponding to a particular native apparatus hardware and softwareconfiguration. The canister's operating system 288 references thecanister 147 and integral flash portions 152 of memory as a hierarchicalfile system, as shown in FIG. 8.

FIG. 7 shows the structure of programme application software, data andservice content stored for the preferred embodiment of TV apparatus 109.The content items 295 are each arranged as combinations of applications293 and various data or content objects 292 which the applications mayprocess and render to the screen. Preferably, the applications 293include one or more game application(s), an electronic programme guide(EPG) application and EPG extensions to permit ordering of DVD titlesand display of video clip trailers, a chat application and a graphicaland hypertext browser 287. The applications communicate with theoperating system 288 and code libraries 289, graphics and datacommunication drivers 290 and other components via a standardapplication programming interface 291. The EPG employs a browser 287 todisplay marked up content and a software decoder 286 to play MPEG-4 andother audio-video formats. Each application 293 may have associated withit data or content 292 which it may process. Preferably all applicationsare adapted to run over Java, or some other form of, virtual machine294. Particular content items 295 may be downloaded from broadcasts 171along with the drivers 290 necessary for the hardware's operationdepending on the values of the transient apparatus parameters 154 storedin the DRAM 146. These values denote whether hardware devices, such asthe network transceiver 119 or a memory card 107, are connected to theapparatus 114.

FIG. 9 shows information that is broadcast by the service provider viathe data carousel 136. This can be downloaded to the apparatus 109.Typically, this includes service catalogue information, which isdownloaded throughout the day as a continuous data stream 171. Contentitems are normally downloaded as data burst streams 173 at predeterminedintervals. Service entitlement information 174 is downloaded in responseto user requests, and so data on this stream tends to peak in theevenings.

Removable memory cards 107 may be connected to the apparatus 109 viacard reader interface 115. Alternatively, a removable USB memory pen maybe attached to interface port 155. In either case, the apparatusrecognises the memory device upon connection and attempts to mount saiddevice's external file system 325 onto its integral file system 324.Thus, when mounted, additional files such as a memory file extensionfile AllocatedMemory 320 (see later) and additional directories andfiles 326 can be read from, written to, modified, deleted, appended toor executed by the operating system.

FIG. 10 shows how the AllocatedMemory 320 is divided into twoaddressable card memory allocations: canister shadow memory 321 andservice memory 323. Canister shadow memory is allocated automatically tostorage of a back up of the apparatus' volatile canister memory 147including those services whose content items are normally stored withinthe canister memory areas 147. Service memory 323 is allocated to thestorage of content items that belong to additional, optional servicesstored only on the memory card 107 which a user may select from a menu.For each service whose content items have been selected by the user forstorage on the card, a number of parameters are stored within a serviceproperties data 333 area on the card to enable the apparatus to properlystore and load the services. These parameters include: ServiceId: theservice's identifier; Title and Description: text title and textdescription of the service; ContentItemId[ ]: an array of elementscontaining identifiers for each content item; ContentItemLocation[ ] andContentItemSize[ ]: an array of elements denoting the position and sizerespectively within service memory 323 of each content item; andContentItem Version[ ]: an array of version numbers corresponding to theversion number for each item.

FIG. 11A shows the process performed by the apparatus when a memory card107 is inserted into the memory card reader interface 115 whereby memoryis allocated for backup of canister memory and storage of additionalcontent items. Whenever a card is inserted (1-1), the apparatus mountsthe card filing system (1-2) and tests whether a file namedAllocatedMemory 320 is present within the card's filing system 325(1-3). In a preferred embodiment, the file name AllocatedMemory is ahash of the apparatus machine address. This allows a single memory cardto be employed with multiple apparatus for the purpose of storingservice content. In the event that the card was inserted for the firsttime and so the file AllocatedMemory is not present (1-3), the apparatusreads the amount of free storage on the memory card (1-4) and displays apop-up banner 220 over the television programme or service currentlybeing displayed 221 (1-5) as shown in FIG. 12.

The pop-up 220 informs the user that a memory card has been insertedinto the apparatus. It also displays the amount of free storagecurrently on the memory card, a minimum amount of storage correspondingto the size of the canister memory 147 and a maximum amount of storagecorresponding to the amount of free card memory available capped to afinite limit. The pop-up 220 invites the user to key in, preferablyusing the numeric keys 123, a storage allocation to be reserved by theapparatus on the memory card between the minimum and maximum levels. Theuser inputs a storage value into a data entry display box 221 or pressesthe “back” key 327 to clear the pop-up immediately if storage is notrequired. If storage is required (1-6), the apparatus writes a fileAllocatedMemory onto the memory card of size equivalent to the inputstorage value (1-7) and then copies the contents 150 of the canistermemory 147 into the canister shadow memory range 321 on the card (1-8).If storage is not required (1-6), the apparatus writes an empty fileAllocatedMemory to the card [1-9], so that a user is not prompted asecond time when the card is next inserted for another purpose (e.g. toview photographs stored on it).

The apparatus 109 periodically downloads content items 173 from theservice operator and writes these to its volatile canister memory 147.Each time a download occurs, the apparatus 109 attempts to make a backupof the objects associated with each item 150 within the canister to theshadow memory space if a valid memory card is inserted. The process isshown in FIG. 11B. This is transparent to a user without making orseeking a prompt. When one or more objects 150 has been loaded into thecanister 147 (2-1), the apparatus determines that the card is valid bydetecting the existence of a file AllocatedMemory on the memory card 107of sufficient size to back up the canister memory (2-3) when a card isinserted (2-2). If AllocatedMemory is of sufficient size (2-3), theapparatus copies the canister objects 150 into a pre-determined storagerange 321 within the file AllocatedMemory 320 to form a copy of thecanister objects 322 (2-4).

Each time the apparatus wakes from standby, it attempts to restoreservice items and objects (such as, for example, the operating system)to the canister memory from a memory card in preference to waiting todownload them from a scheduled broadcast 173. This is useful because itshortens the period during which the apparatus is unusable after powerup. FIG. 11C illustrates this process. When the apparatus powers up(3-1), it determines whether a storage file AllocatedMemory ofsufficient size is present within a memory card 107 (3-3) if one isinserted (3-2). The apparatus reads the version numbers and identifiersfor each object stored within the canister shadow memory 322 of fileAllocatedMemory (3-4). The apparatus programs the tuner 300 andde-multiplexer 301 to download the service catalogue (3-5) for contentitems stored in the canister. For each object listed in the catalogue,the apparatus verifies that an object of the same identifier and versionnumber already exists in shadow memory 322 and, if so, copies the objectto the volatile canister memory 147 (3-6). Thus the apparatus reliablyrestores from a memory card a copy of its canister's contents where thecard's content items are up to date, and prevents display to the user ofcontent items that are out of date.

Many forms of content item 295 may be downloaded to memory cards. Thesemay include media services where the content comprises text, or a markedup text (such as, for example, created using the HTML and XML formats),a picture (such as, for example, created using the JPEG, PNG format), anaudio (such as, for example, created using MP3 or OGG format), or avideo clip (such as, for example, created using the MPEG-2 or MPEG-4encoding formats) an executable application (such as, for example,comprising Java bytecode, Java Script or machine code) or somecombination thereof.

Applications 293 may comprise an electronic game or may enable a user tobenefit from additional functionalities in apparatus 109, such as acalendar or contact address book. The service application may permit theuser to use the apparatus to record and/or play back televisionprogrammes, or extracts thereof, to a removable memory card for laterplay back by either the apparatus or another device such as a mobiletelephone or a personal digital assistant (PDA). Alternatively, anapplication may permit the apparatus to save still pictures taken fromtelevision programmes to the apparatus's memory or to a memory cardconnected to the apparatus, for later play back or display by theapparatus as a screen saver or background to a graphical user interface.Additionally, an application may permit a motion video, still picture oraudio extract from a television programme or advertisement to be savedto a portion of a memory card that is not allocated to the apparatus326.

Another example of a service is an audience measurement application foruse by broadcasters and audience researchers, where informationcorresponding to the identities of radio and television programmes andchannels displayed at any given time by the apparatus are saved to thememory card. A further instance is an application that permits the userto transfer extracts of television programmes or other media content,such as a downloaded ring tone or screen saver, to another device suchas a mobile telephone 111 or a personal digital assistant (PDA) via awireless network transceiver 119 connected to the apparatus. Yet anotherinstance may comprise an application that permits a user to view, modifyor play back media content stored on a portion of the memory card 326that is not allocated to the apparatus 326. For example, a service maycomprise a photograph viewing application that allows a user to view,rotate and/or edit a digital photograph and re-store the result backonto a memory card. Alternatively, a service may comprise an audiomixing application that allows a user to play and mix together aplurality of soundtracks and restore the edited result back onto amemory card.

The service operator may broadcast additional service content forreception by apparatus 109 for storage on memory cards. This provides auseful, convenient means whereby a user can extend the capability andusefulness of the apparatus during its lifetime. Users may press aservice key 128 to leave full screen television viewing and cause aservice menu 245 to be displayed as shown in FIG. 13. Preferably, thetelevision channel viewed in full screen mode is displayed in reducedscale 224 within the service menu without interruption to the audiocomponent. The service menu includes a plurality of cells 142, each ofwhich corresponds to an interactive television service that is availableto the user. When in this service menu 145, users can select andactivate any one of the services displayed.

Each of cells 142 correspond to a service that has previously beenselected by a user and downloaded to the apparatus and whose content isstored either in the canister 147 or on the non-volatile memory card107. Each cell may enclose a distinctive feature such as a title, labelor graphic that allows the service to be identified by the user. Eachcell may further display an icon or label 335 to denote the physicalsource of the content of the service to which it corresponds. The icon335 may be displayed inset within, or immediately adjacent to, the cell142. Preferably, cells that correspond to services whose content itemsare stored to a removable memory card are marked with a card shaped icon335.

One of the cells 141 is highlighted differently from the remaining cells142, such as by using a different shading or border, in order to show tothe user that the cell is in focus. The user may move the focus betweencells by pressing the arrows keys 120 to cause the focus to move in thedirection of the arrow key pressed until a desired cell is in focus.Pressing the OK key 121 activates and displays the service correspondingto it. Alternatively, the user may activate an item by pressing a numberkey 123 corresponding to a number label 140 displayed inset within oradjacent to the desired cell. A panel 143 that contains descriptive orpromotional information relevant to the cell in focus 141 is displayedsimultaneously with the cells 142. As the user moves focus betweencells, the panel 143 is updated to include information pertinent to thenew cell in focus. A scroll arrow 230 is displayed when more servicescan be reached than are displayed on the screen. Cells corresponding tothese are reached by pressing the page up or down keys 126 according tothe direction of the scroll arrow 230. The user may cause the apparatusto perform an action corresponding to an action cell 252 by pressing ahandset key 124 whose colour corresponds to the cell's colour, and wherethe action is described by either a text label or a graphical icon insetwithin or immediately adjacent to the cell 252.

FIG. 14A shows the steps for generating the screen of FIG. 13. When theuser presses a dedicated “Service” key 128 on the remote control handset(6-1), the apparatus reads the titles and properties associated witheach service whose items are stored in the canister 147 (6-2) anddisplays them on the screen 245, presenting each title inset within acell 142 (6-3). The apparatus next determines whether a memory card isattached by attempting to verify that the file AllocatedMemory existsand whether a non-zero amount of service memory 323 has been allocatedto it (6-4). If so, the apparatus reads the properties for each servicelisted within the memory card's service properties areas 333 and lookswithin its internal flash (6-5) for an entitlement cookie 336corresponding to each. Where both a service's properties 333 and itsentitlement are found, the apparatus displays the service's Title to thescreen 245 (6-6) inset within a cell 140 and marks the cell with an iconor highlight 335 to confirm that the source of the service's contentitems is an inserted memory card. The apparatus further displays theservice's Description in a second notes area 143 responsive to theuser's choice of cell to be placed in focus.

FIG. 14B shows the process for invoking an externally stored servicefrom the screen of FIG. 13. Firstly, the user selects an externallystored service by pressing the “OK” key 121 when the cell correspondingto the service is in focus 141, or by pressing a numeric key 123associated with that cell 141 (7-1). The apparatus looks up within theservice properties 333 for the service's content item location(s) withinthe card service memory 323 (7-2) and copies those items from servicememory (323) to scratchpad memory 148 (7-3). The apparatus generatesdigital signatures of the items (7-4) and compares these with signaturesfor their counterpart(s) in the executable signature block 330 withinintegral flash memory 152 (7-5). If all the pairs of signatures matchthe service is started (7-6), otherwise an error message is displayed(7-7).

A card services action cell 231 is included within the services menu ofFIG. 13. The user may add/remove services to/from the service menu 245by pressing a hot key 124 that corresponds to the action cell 231. Thiscauses display of an on screen catalogue of services 240 whose contentsitems download to the memory card, as shown in FIG. 15. Once in thisscreen, a user may press arrow keys to navigate focus between cells 184in a column or grid, in the same manner to that described for theservice menu 245. Each cell 184 corresponds to an item of contentavailable for downloading to the memory card and later displayed by theapparatus. Each cell 184 is labelled with a content item's name or title(e.g. “Met Office World Weather”) or some other identification such as alogo. Each cell 184 also has a tick box 186 that contains a tick or someother symbol or label to denote whether its service is selected fordownloading. The catalogue further informs the user of the services forwhich the content items are stored on the inserted memory card in up todate form. This is done by highlighting their corresponding cellsdifferently (such as shown in FIG. 15 by the shaded cell areas 188)compared to cells of services that are not up to date or stored to thecard. Preferably this method of highlighting depicts up to date serviceswith cell areas shaded in one colour, whereas the areas corresponding toout of date services are depicted in another colour. Either a “pick” or“drop” label 241 is displayed according to whether the focussed cell'sbox 187 is clear or contains a tick. A user may toggle between selectionand de-selection of a service by pressing the hot key 124 correspondingto 241, as shown in FIG. 16.

A user needs sufficient information on screen to decide quickly whichservices to select from the catalogue 240. For this reason, thecatalogue's display is organised to provide all pertinent information ona single screen. A horizontal bar 180 displays descriptive text 183 toindicate how much card memory has been allocated to a service. Aproportion 181 of bar 180 is sized in width according to the memoryrequirement of the service corresponding to the cell currently in focus185 as a proportion of stored service memory 323 on the card. A furtherproportion 182 of bar 180 is sized in width according to the totalamount of unallocated externally stored services memory 323, excludingthat corresponding to the cell in focus 185, as a proportion of thetotal amount of stored service memory 323 on the card. An informationbox 169 is displayed in response to the currently focussed cell 185 andcontains its corresponding service's title, pricing information, adescription of the service's content, editorial star rating, parentalrating and memory requirement. A second information box 226, notresponsive to the focussed cell 185, displays general user informationand help tips.

FIG. 17 is a flow diagram showing how the service catalogue isdownloaded to the apparatus, and how the user selects services fordownloading. As noted previously, the service catalogue information isbroadcast as part of the data stream of FIG. 9. The catalogue datacontains an identifier, version number, scheduled broadcast time, anddata stream and transport stream/multiplex identifiers for each serviceitem to be broadcast. The data structure downloaded for the catalogueincludes a payload identifier to show the identity of the payload tofollow as belonging to the service catalogue (Payload); the number ofservices referred to in the catalogue (NumberServices); targetexpressions to determine whether the service is suitable for downloadingto the apparatus, expressed as a Boolean expression of parameters andvariables previously evaluated in each apparatus (TargetExpression). Ifthe expression is evaluated as TRUE then the service corresponding tothe properties to follow may be displayed on screen for selection by auser; the service's identifier (ServiceId), title, (ServiceTitle) andtext description (Description); a logical flag, PayFlag, to signifywhether the service is a pay service; the service's memory requirementwhen stored in flash memory (FlashMemory Requirement), i.e. the maximumsum of the memory sizes of all the content items for a given service;each of the content item identities (ContentItemId) and versions(ContentItem Version) for each service; time, date (TimeDate), transportstream (TransportStreamId) and packet identifier (PacketId) for thenext, one or more broadcasts. The catalogue is typically a kilobyte insize and broadcast as a continuous, repeating carousel of low bandwidth171 relative to that employed to broadcast the content items 173. Topermit the apparatus to configure themselves promptly from power up, thecatalogue is broadcast at a high frequency, typically once per minute,compared to the frequency of broadcast of the individually content itemslisted within (typically every 8 hours).

On receiving a user input request to display the catalogue (4-1) theapparatus programs the tuner 300 and de-multiplexer 301 to receive thedata stream 171 from the service operator containing catalogueinformation (4-2). The apparatus downloads the service catalogue data171 to scratchpad DRAM 148. For each service (4-3) in the catalogue theapparatus evaluates a Boolean expression, TargetExpression, to determinewhether the service is compatible with the apparatus's memory resources,CPU speed and graphics capabilities and can be downloaded (4-4). Where aservice is compatible, the apparatus displays the catalogue details(ServiceTitle, Description, TimeDate) to the screen (4-5) as shown inFIG. 15. If a service entitlement cookie 336 is found for the serviceand its corresponding identity 333 is found on the memory card, a tickmarker 186 is displayed within its cell 184 to show that it haspreviously been marked for downloading.

The user may further select services corresponding to unmarked cells(187) for downloading from the on-screen catalogue (4-6), causing themto be marked as follows: If the user selects a pay service (4-9) theapparatus determines whether the user has previously pre-registered anaccount with the operator (4-10) by checking within the file system forthe existence of an apparatus cookie 144 containing registrationparameters, hi the embodiment described, these parameters include theuser's account number and PIN. If the cookie is found (4-10), theapparatus displays a pop-up message 232 over the catalogue menu display240 containing instructions for the user to communicate the service'sidentity 242 and to authenticate him/herself using the PIN to theservice operator (4-12). In the embodiment described, the usercommunicates the order details and PIN to the service operator (4-13)within a mobile telephone 111 text message that is transmitted by theuser across the mobile telephone network 108 to the operator's requestdecoder 134. However, where a network transceiver 119 is connected tothe apparatus, the information is preferably communicated to the serviceoperator 100 via the network transceiver, internet access point 139 andthe Internet 156.

The service operator processes the order, authenticates the user andtransmits an entitlement message addressed to the apparatus via thebroadcast infrastructure 110. The apparatus receives the message,filters against its own its address and stores it as a serviceentitlement cookie 336 (4-14), redraws marker 187 as a ticked marker 186and removes instructions 232 (4-15) or replaces the instructions 232with temporary display of an acknowledgement. The identity (ServiceId)of the selected service is saved to non-volatile card memory 333 (seeFIG. 10) for later reference by the apparatus during downloading (4-7).The download times (TimeDate) and locations (TransportStreamId andPacketId) are written to integral flash 334 (4-8).

Some services may require a payment to be made by the user to theservice operator 100 before they may be downloaded to the apparatus andaccessed. Account details are pre-registered by a user with the serviceoperator for this purpose as shown by step (4-11) in FIG. 16. In thepreferred implementation of step (4-11), the apparatus displays itsmachine address and a message directing the user to open an account bydisplaying a universal resource locator (URL) corresponding to a worldwide web site accessible via the Internet, where the user maycommunicate to the operator the apparatus address, his/her postaladdress, payment details, telephone number 111 and PIN. When a validaccount is formed, the operator broadcasts the account's registrationdetails to the apparatus' address for downloading as a serviceentitlement cookie 336.

To minimise apparatus power consumption, each service's content itemsare broadcast a small number of times each day in bursts 173 of highdata rate when the apparatus is not in use, as shown in FIG. 9. Thetimes and locations of these bursts (TimeDate, TransportStreamId andPacketId) are downloaded from the service catalogue data stream 171 andstored within the apparatus in non-volatile memory 334. When theapparatus's tuner 300 and de-multiplexer 301 are not in use (forexample, because the apparatus is in low power standby or because theapparatus has determined that it is not attended by a user due to aminimum time period since the last command from the remote control 117having been exceeded), the apparatus reads the burst time and locationdata 334 to determine when the next service broadcast is scheduled tocommence. At a short interval before said time, the apparatus programsthe tuner 300 and de-multiplexer 301 to receive the scheduled servicecontent items 295.

FIG. 18 shows the process for downloading and processing each object.Content items may comprise content 292, application software 293, dataor some combination thereof. Each item may be broadcast as a pluralityof data objects, where each object contains a header that contains alogical expression that is a function of the apparatus' parameters 143.If the expression is evaluated (5-2) as TRUE for a given apparatus, thenthe object is downloaded to scratchpad memory 148 (5-3). For example, anobject with the expression “ScratchPadMemory>2048 AND (Address>0x10000)”would be downloaded if the apparatus has more than 2,048 kilobytes ofscratchpad memory and has an address exceeding 0x10000. The apparatusverifies that a memory card with a service memory allocation 323 isconnected (5-4) and that the object's service is listed in the card'sstored service properties 333 (5-5).

All executable objects require authentication that they are bona fideobjects broadcast by the service operator prior to loading and executionin order to protect against viruses being loaded and executed from thememory card. If the object's header indicates that the object is anexecutable (5-6), the apparatus generates a digital signature as amathematical hash function of the object and saves the signature in theexecutable signatures area within its integral non-volatile memory 330(5-7). Each object is processed according to its type (5- 8) so thatobjects containing encryption flags are decrypted prior to storage, andexecutable objects are translated from a generic instruction set to theinstruction set employed by the apparatus's CPU 303, and compiled andlinked. The processed object is written to the service memory 323 withinthe card 107 (5-9). The process continues until all objects have beendownloaded to the memory card (5-10).

By storing at least some interactive services data on the memory card,the present invention extends the range of interactive televisionfunctions potentially available to users, without increasing theinternal hardware requirements of the user's television apparatus. Thisis advantageous.

A skilled person will appreciate that variations of the disclosedarrangements are possible without departing from the invention. Forexample, many of the functional elements described with reference toFIG. 5 may be combined on a single large-scale integration (LSI) siliconcomponent such as STMicroelectronics' STi5100 chipset, in the case wherethe apparatus is a digital television receiver all the functionsdescribed with reference to FIG. 5 are resident within the televisionchassis. Accordingly the above description of the specific embodiment ismade by way of example only and not for the purposes of limitation. Itwill be clear to the skilled person that minor modifications may be madewithout significant changes to the operation described.

1. An interactive television system comprising: means for receivingtelevision signals; means for receiving data for implementing aninteractive television service, the interactive television service datacomprising content items; means for storing the content items, includingcontent version information therefor, on a removable, non-volatilememory; and means for automatically copying to the removable memoryinformation in an internal memory, so that the removable memory acts asa backup, wherein the system is adapted to download time, date andservice version information from a broadcast source, read the contentversion information of the content items stored on the removable memoryto determine whether the content items are expired, and restore thecontent items from the removable memory to the internal memory if saidcontent items are not expired.
 2. A system as claimed in claim 1comprising means for generating a user interface using informationstored on the removable memory.
 3. A system as claimed in claim 2comprising means for merging information in both the internal memory andthe removable memory to provide a user interface that has userselectable interactive services that are accessible via information inboth the internal and external memories.
 4. A system as claimed in claim3 comprising means for marking interactive services on the interface toindicate that they are available via the removable memory.
 5. A systemas claimed in claim 2 wherein the user interface is operable to allowaccess to user activatable interactive services.
 6. A system as claimedin claim 1 comprising means for prompting a user to indicate whetherinteractive television service information is to be stored on theremovable memory.
 7. A system as claimed in claim 6 wherein theprompting means are responsive to connection of a removable memorydevice.
 8. A system as claimed in claim 1 comprising means forpresenting a services catalogue to a user, the catalogue including aplurality of selectable services.
 9. A system as claimed in claim 8wherein the services catalogue includes services that are designated asbeing available for storing on the removable memory.
 10. A system asclaimed in claim 8 including means for identifying any service alreadyselected by a user.
 11. A system as claimed in claim 8 including meansfor identifying any service that has been selected and authorised foruse by the user.
 12. A system as claimed in claim 8 including means forpresenting additional information relating to one of the services inresponse to a user input, such as highlighting one of the services. 13.A system as claimed in claim 12 wherein the additional information isprovided in a dedicated area of the screen, preferably separate from theservices listings.
 14. A system as claimed in claim 1 adapted to prompta user when the removable non-volatile memory is connected on whether toallocate a portion of the non-volatile memory for the purpose of backingup data, and to allocate backup space within the file system of thenon-volatile memory, in the event that a confirmation is received fromthe user that an allocation is to be made.
 15. A system as claimed inclaim 14 adapted so that a user is not prompted a second time when thecard is next inserted, in the event that storage on the removable memoryis not required.
 16. A system as claimed in claim 1 wherein theremovable memory is usable with multiple apparatus for the purpose ofstoring service content for the multiple apparatus.
 17. A system asclaimed in claim 1 adapted to generate a digital signature for datastored on the removable memory; compare this with a signature in theinternal memory and start the service if the signatures match.
 18. Asystem as claimed in claim 1 adapted to receive data via the internet.19. A system as claimed in claim 1 wherein the internal memory isvolatile, such as dynamic random access memory (DRAM).
 20. A method forproviding interactive television services to a user comprising:downloading interactive television service information to a televisionsystem, the interactive television service information comprisingcontent items; storing the content items, including content versioninformation therefor, on a removable non-volatile memory device;automatically copying to the removable memory information in an internalmemory, so that the removable memory acts as a backup, and using thestored content items to provide interactive services, wherein the systemdownloads time, date and service version information from a broadcastsource, reads the content version information for the content itemsstored on the removable memory to determine whether the content itemsare expired, and restores the content items from the removable memory tothe internal memory if they are not expired.
 21. A method as claimed inclaim 20 comprising generating a user interface using information storedon the removable memory, such as service entitlement information.
 22. Amethod as claimed in claim 21 comprising generating the user interfaceusing information in both an internal memory and the removable memory.23. A method as claimed in claim 21 wherein the user interface isoperable to allow access to user activatable interactive services.
 24. Amethod as claimed in claim 21 comprising marking interactive services onthe interface to indicate that they are available via the removablememory.
 25. A method as claimed in claim 20 comprising prompting a userto indicate whether interactive television service information is to bestored on the removable memory.
 26. A method as claimed in claim 25wherein the step of prompting is responsive to connection of a removablememory device.
 27. A method as claimed in claim 20 comprising presentinga services catalogue to a user, the catalogue including a plurality ofselectable services.
 28. A method as claimed in claim 27 wherein theservices catalogue includes services that are available for storing onthe removable memory.
 29. A method as claimed in claim 27 includingidentifying within the catalogue any service already selected by a user.30. A method as claimed in claim 27 including identifying within thecatalogue any service that has been selected and authorised for use bythe user.
 31. A method as claimed in claim 27 including means forpresenting additional information relating to one of the services inresponse to a user input, such as highlighting one of the services. 32.A method as claimed in claim 31 comprising presenting the additionalinformation in a dedicated area of the screen, preferably separate fromthe services listings.